home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ring.yamanashi.ac.jp/pub/pc/freem/action/
/
action.zip
/
bouken.zip
/
_lÔÌ`¯
/
main.hsp
< prev
next >
Wrap
Text File
|
2011-12-02
|
8KB
|
311 lines
#include "hspdx.as"
#include "ck_joyforce.as"
screen 0, 640, 480, 0, (ginfo_dispx-640)/2, (ginfo_dispy-480)/2
title "û_Élè╘é╠û`î»"
es_ini 100,7,360
es_screen 640,480,32,,1,1
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2
goto *start
*dderr1
dialog "DirectXé╠Åëè·ë╗é╔Ä╕ösé╡é▄é╡é╜üB",1
end
*dderr2
dialog "âXâNâèü[âôé╠Åëè·ë╗é╔Ä╕ösé╡é▄é╡é╜üB",1
end
*dderr3
es_bye
wait 100
dialog "VRAMé╠ùeù╩é¬òsæ½é╡é─éóé▄é╖üB",1
end
*pushkey
stick kk, 128
if kk & 128 : end
es_getfps fps
font "élér âSâVâbâN", 16, 1 : color 0, 255, 0
getkey f, 112
if f = 1 : pos 576, 456 : es_fmes "FPS "+strf("%02d",fps)
es_sync 16
await 0
return
*start
buffer 1, 320, 48 : picload "./data/title.bmp" : es_buffer 1, 0, $00ff00
buffer 2, 320, 96 : picload "./data/menu.bmp" : es_buffer 2, 0, $00ff00
buffer 3, 640, 480 : picload "./data/back.bmp" : es_buffer 3
buffer 4, 64, 32 : picload "./data/player.bmp" : es_buffer 4, 0, $00ff00
es_size 16, 32, 0, 0
es_pat 0, 0, 0, 0
es_pat 1, 16, 0, 0
es_pat 2, 32, 0, 0
es_pat 3, 48, 0, 0
es_pat 4, 64, 0, 0
buffer 5, 160, 32 : picload "./data/block.bmp" : es_buffer 5, 0, $00ff00
es_size 32, 32, 0, 0
es_pat 10, 0, 0, 0
es_pat 11, 32, 0, 0
es_pat 12, 64, 0, 0
es_pat 13, 96, 0, 0
es_pat 14, 128, 0, 0
buffer 6, 640, 96 : picload "./data/stageclear.bmp" : es_buffer 6, 0, $00ff00
buffer 7, 640, 96 : picload "./data/gameover.bmp" : es_buffer 7, 0, $00ff00
buffer 8, 640, 96 : picload "./data/GameClear.bmp" : es_buffer 8, 0, $00ff00
buffer 9, 640, 480 : picload "./data/SacredWing.bmp" : es_buffer 9, 0, $00ff00
gsel 0
fa = 0
repeat 99
es_cls
fa += 5 : if fa > 255 : fa = 255
pos 0, 0 : es_excopy 9, 0, 0, 640, 480, 640, 480, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
repeat 51
es_cls
fa -= 5
pos 0, 0 : es_excopy 9, 0, 0, 640, 480, 640, 480, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
dir = dirinfo(0)
chdir dir+"/data/stage"
dirlist stagelist, "*.stg", 0
stagem = stat
chdir dir
ck_joyconfig 4, 16
ck_joyconfig 5, 16
ck_joyconfig 6, 16
ck_joyconfig 7, 16
*â^âCâgâï
bgx = 0.0 : bgy = 0.0
menu = 0
if stage > 0 : menu = 1
fa = 255
repeat 51
es_cls
gosub *öwîi
gmode 2
pos 160, 128 : es_copy 1, 0, 0, 320, 48
pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
fa -= 5
es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
repeat
es_cls
gosub *öwîi
gmode 2
pos 160, 128 : es_copy 1, 0, 0, 320, 48
ck_joystick kk, 0
if kk = 2 : menu -= 1 {
if menu = -1 : menu = 2
if menu = 1 : if stage = 0 : menu = 0
}
if kk = 8 : menu += 1 {
if menu = 3 : menu = 0
if menu = 1 : if stage = 0 : menu = 2
}
ck_joystick kk, 16
if kk & 16 : break
pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
gosub *pushkey
loop
fa = 0
repeat 51
es_cls
gosub *öwîi
gmode 2
pos 160, 128 : es_copy 1, 0, 0, 320, 48
pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
fa += 5
es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
if menu = 2 : end
mci "close bgm"
mci "open "+dirinfo(0)+"/data/BGM1.mid alias bgm type mpegvideo"
if menu = 1 : goto *âRâôâeâBâjâàü[
*âjâàü[âQü[âÇ
stage = 0
goto *âXâ^ü[âg
*âRâôâeâBâjâàü[
goto *âXâ^ü[âg
*âXâ^ü[âg
notesel stagelist
noteget stagename, stage
notesel load
noteload "./data/stage/"+stagename
dim bc, 20*15
c = 0
getstr px, load, c, ', ' : c += strsize
getstr py, load, c, ', ' : c += strsize
repeat 20*15
getstr b, load, c, ', ' : c += strsize
bc(cnt) = int(b)
loop
mci "play bgm repeat"
mci "play bgm repeat"
hp = 1 : clear = 0
px = int(px)*32+8 : py = int(py)*32 : pa = 0
pys = 0.0 : jump = 1
bgx = 0.0 : bgy = 0.0
fa = 255
repeat 51
es_cls
gosub *öwîi
gosub *âvâîâCâäü[
gosub *âuâìâbâN
es_put px, py, pa
font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
pos 8, 8 : es_fmes "Stage"+(stage+1)
fa -= 5
es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
repeat
es_cls
gosub *öwîi
gosub *âvâîâCâäü[
gosub *âuâìâbâN
es_put px, py, pa
font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
pos 8, 8 : es_fmes "Stage"+(stage+1)
if hp = 0 : break
if clear = 1 : break
gosub *pushkey
loop
a = 0
fa = 0
repeat 129
es_cls
gosub *öwîi
gosub *âuâìâbâN
if hp = 1 : es_put px, py, pa
if hp = 0 : es_put px, py+a, 4 : a -= 1
font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
pos 8, 8 : es_fmes "Stage"+(stage+1)
fa += 5
if fa > 256 : fa = 256
pos 0, 192 : gmode 2
if hp = 0 : es_excopy 7, 0, 0, 640, 96, 640, 96, 0, 0, 0, ESB_ALPHA, fa
if clear = 1 : es_excopy 6, 0, 0, 640, 96, 640, 96, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
fa = 0
repeat 51
es_cls
gosub *öwîi
gosub *âuâìâbâN
if hp = 1 : es_put px, py, pa
if hp = 0 : es_put px, py+a, 4 : a -= 1
font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
pos 8, 8 : es_fmes "Stage"+(stage+1)
pos 0, 192 : gmode 2
if hp = 0 : es_copy 7, 0, 0, 640, 96
if clear = 1 : es_copy 6, 0, 0, 640, 96
fa += 5
es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
gosub *pushkey
loop
if hp = 0 : mci "stop bgm" : goto *â^âCâgâï
if stage = stagem-1 : mci "stop bgm" : goto *âXâ^âbâtâìü[âï
stage += 1
if stage = stagem : stage = 0
goto *âXâ^ü[âg
*âvâîâCâäü[
pm = 0
ck_joystick kk, 15
if kk & 1 : px -= 2 : pac -= 1 : pm = 1
if kk & 4 : px += 2 : pac -= 1 : pm = 1
if kk & 1 : if kk & 4 : pm = 0
if pm = 0 : pac = 1 : pa = 0
if pac < 1 : pac = 8 : pa += 1 : if pa = 4 : pa = 0
ck_joystick kk, 16
if kk & 16 : if jump = 0 : if pys < 1 : jump = 1 : pys = -6.0
pys += 0.2 : if pys > 10.0 : pys = 10.0
py += pys
if px < 0 : px = 0
if px > 624 : px = 624
if py > 480 : hp = 0
return
*âuâìâbâN
x = 0 : y = 0
repeat 20*15
es_put x, y, 10+bc(cnt)
if bc(cnt) = 1 {
if (px+4<x+28)&(px+12>x+4)&(py+24<y+8)&(py+32>y) : py = y-32 : pys = 0.0 : jump = 0
if (px+4<x+28)&(px+12>x+4)&(py<y+32)&(py+16>y+24) : py = y+32 : pys = 0.0
if (px+4<x+16)&(px+12>x)&(py<y+28)&(py+32>y+4) : px = x-12
if (px+4<x+32)&(px+12>x+16)&(py<y+28)&(py+32>y+4) : px = x+28
}
if bc(cnt) = 2 {
if (px+4<x+28)&(px+12>x+4)&(py+24<y+16)&(py+32>y+8) : hp = 0
if (px+4<x+28)&(px+12>x+4)&(py<y+32)&(py+16>y+24) : py = y+32 : pys = 0.0
if (px+4<x+16)&(px+12>x)&(py<y+28)&(py+32>y+16) : px = x-12
if (px+4<x+32)&(px+12>x+16)&(py<y+28)&(py+32>y+16) : px = x+28
}
if bc(cnt) = 3 {
if (px+4<x+28)&(px+12>x+4)&(py+24<y+8)&(py+32>y) : py = y-32 : pys = 0.0 : jump = 0
if (px+4<x+28)&(px+12>x+4)&(py<y+24)&(py+16>y+16) : hp = 0
if (px+4<x+16)&(px+12>x)&(py<y+16)&(py+32>y+4) : px = x-12
if (px+4<x+32)&(px+12>x+16)&(py<y+16)&(py+32>y+4) : px = x+28
}
if bc(cnt) = 4 {
if (px+8<x+32)&(px+8>x)&(py+16<y+32)&(py+16>y) : clear = 1
}
x += 32 : if x = 32*20 : x = 0 : y += 32
loop
return
*öwîi
bgx -= 0.4 : if bgx < -640 : bgx += 640
bgy += 0.3 : if bgy > 0 : bgy -= 480
gmode 0
pos bgx, bgy : es_copy 3, 0, 0, 640, 480 : pos bgx+640, bgy : es_copy 3, 0, 0, 640, 480
pos bgx, bgy+480 : es_copy 3, 0, 0, 640, 480 : pos bgx+640, bgy+480 : es_copy 3, 0, 0, 640, 480
return
*âXâ^âbâtâìü[âï
x1 = 128 : x2 = 320
y = 480
repeat
es_cls
y -= 1
font "élér âSâVâbâN", 24, 1 : color 255, 255, 255
pos x1, y : es_fmes "âXâ^âbât"
pos x1, y+160 : es_fmes "èΘëµ" : pos x2 : es_fmes "mono"
pos x1, y+160+80 : es_fmes "âOâëâtâBâbâN" : pos x2 : es_fmes "mono"
pos x1, y+160+80*2 : es_fmes "ë╣èy" : pos x2 : es_fmes "mono"
pos x1, y+160+80*3 : es_fmes "âvâìâOâëâÇ" : pos x2 : es_fmes "mono"
if cnt = 480+160+80*3+24+60 : break
gosub *pushkey
loop
goto *â^âCâgâï